Machine learning systems are, among other things, applied as a mechanism for learning information that can then be applied to efficiently automate and control various processes. Neural network systems, in particular, provide a means of extrapolating from learnt information in order to provide a solution to problems that are inherently insolvable by rule-based systems. Neural networks have wide applicability, in areas such as financial engineering, providing, for example, equity predictions, market forecasting, bond rate prediction and corporate mergers predictions (Trippi, R., and E. Turban, (eds) Neural Networks in Finance and Investing, Irwin/Probus Publishing, 1993). Other uses for machine learning techniques include data classification, which can be applied to design a fault detection system (e.g. for pipes), or an automatic grading system (e.g. for produce such as apples). Yet further uses include robotic systems, which may be described as complex dynamical systems having many degrees of freedom, and are operable to perform series of movements, actions or processes. In the latter application, controlling parameters may be learnt and applied in order to achieve an appropriate scheduling of actions.
Neural networks are networks of many simple processors (“nodes”). The nodes are connected by communication channels (“links”), which usually carry numeric data, encoded by any of various means. The nodes operate only on their local data and on the inputs they receive via the links. Most neural networks have some sort of “training” rule whereby the weights of links are adjusted on the basis of data, thus neural networks “learn” from examples (as children learn to recognize dogs from examples of dogs) and exhibit some capability for generalisation beyond the training data. According to Haykin, S. (1994), Neural Networks: A Comprehensive Foundation, NY: Macmillan, p. 2:
“A neural network is a massively parallel distributed processor that has a natural propensity for storing experiential knowledge and making it available for use. It resembles the brain in two respects:
1. Knowledge is acquired by the network through a learning process,
2. Inter-neuron connection strengths, known as synaptic weights, are used to store the knowledge.”
Neural network systems that are used for learning sequences to create planning solutions and schedule systems, or user tasks, embed a process known as Temporal Sequence Storage and Generation (TSSG) into the system Do create a schedule of tasks. TSSG is based on observations of sequence retention by biological systems. There is a certain class of neural networks that is ideally suited to model TSSG, as they can be trained using inductive learning algorithms. Current neural networks that achieve TSSG include time-delay netsi, which implement Hakens embedding theorem, and various recurrent models, such as the spin-glassii; nets with context neuronesiii; the Elman netiv and extensions thereofv; and the crumbling history approachvi. However, the spin-glass is limited to reproducing, short sequences, the Elman net uses associative chaining to generate sequences, which is computationally expensive, and the crumbling history approach cannot plan successfully using learnt sequences. In all of these cases, the ability of the neural networks to be integrated usefully into systems that perform complex scheduling tasks such as work pattern management is limited.
Applicant's co-pending European Application 99309017.4 (IPD case ref A25829) describes a neural network system, which is concerned with generating unlimited sequences of elements (which may be user tasks and sub-tasks) and makes use of multiple ACTION networks configured in a hierarchical arrangement. Each of the ACTION networks has been trained to output four elements, and once an ACTION network has been trained, it can be inserted into the hierarchy as a black box, or “off-the-shelf” item. Such a tool may be applied to schedule user tasks to be performed in, say, a morning: the tasks will be input to the system, and the system will return a task order that best represents the user's observed preferred ordering of tasks.
Journal publication “Temporal associative memory with finite internal states”, Chengke Sheng and Yu-Cheng Liu, IEEE, New York, 27 Jun. 1994 pp. 1109–1114 discloses a Finite State Network (FSN), which associates a temporal input pattern with a temporal output pattern. The FSN comprises three layers: an input layer, an output layer and a state layer, the layers being arranged such that for each State (Si) there is a corresponding element (Li) of the temporal input pattern and element (Di) of the output pattern associated therewith. Essentially a trained FSN can be represented as a tree, each level representing a different state (Si) and a different element in the temporal pattern, so that the number of levels in the tree is dependent on the number of elements in the input pattern. The paper describes a particular example where the FSN is trained on string pairs (input: OOD, output: OPQ). The trained FSN comprises a tree having three levels, where at least one of the paths therein follows [input/output] O/O; O/P; D/Q, so that for each element of the temporal input sequence an output element is generated. Once the FSN has traced a path through the tree, the outputs are collated together to produce the output string OPQ.